package com.vshining.cryptoki.jna.pkcs11t;

import com.sun.jna.NativeLong;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;

import java.util.Arrays;
import java.util.List;

/**
 * @author Shining Wang <shiningwang@vshining.com>
 */
@SuppressWarnings("unused")
public class CK_WTLS_KEY_MAT_PARAMS extends Structure {
    NativeLong DigestMechanism;
    NativeLong ulMacSizeInBits;
    NativeLong ulKeySizeInBits;
    NativeLong ulIVSizeInBits;
    NativeLong ulSequenceNumber;
    NativeLong bIsExport;
    CK_WTLS_RANDOM_DATA RandomInfo;
    Pointer pReturnedKeyMaterial;

    @Override
    protected List getFieldOrder() {
        return Arrays.asList(
                "DigestMechanism",
                "ulMacSizeInBits",
                "ulKeySizeInBits",
                "ulIVSizeInBits",
                "ulSequenceNumber",
                "bIsExport",
                "RandomInfo",
                "pReturnedKeyMaterial"
        );
    }
}
